Heterogeneous disk storage management technique

ABSTRACT

Management of one or more storage devices is achieved by first identifying each device by its make and model, and then establishing a database containing information about that device, such as (a) operational rules, (b) commands and (c) processing routines. From the information obtained from the database, a Graphical User Interface is created for display to afford a user at least one menu option for selection. Upon selecting the one menu option, the user obtains at least one of (a) a display of information associated with the identified storage device, and (b) execution of at least one process to control, at least in part, the operation of the identified storage device. The user&#39;s selection is processed and the Graphical User Interface is automatically updated in response to the processing of the user&#39;s selected menu option.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit, under 35 U.S.C. §365 ofInternational Application PCT/US03/17608, filed Jun. 4, 2003, which waspublished in accordance with PCT Article 21(2) on Jan. 8, 2004 inEnglish and which claims the benefit of U.S. provisional patentapplication No. 60/392,779, filed Jul. 1, 2002.

TECHNICAL FIELD

This invention relates to a technique for managing one or more storagedevices.

BACKGROUND ART

Advances in the design and manufacture of magnetic storage devices havesignificantly reduced the cost of such devices, as measured in terms ofthe cost per gigabyte of storage capacity. The relatively low cost ofhigh storage capacity devices has resulted in the proliferation of largearrays of such devices, such as a Redundant Array of Independent Disks(RAID). Various manufacturers of storage devices commonly offer suchRAIDs with proprietary software for controlling the individual storagedevices within the RAID.

Storage devices from different manufactures often have differentfeatures. Combining storage devices from different manufacturer affordsthe ability to take advantage of the best features of each device.Unfortunately, no technique presently exists for low-level management ofheterogeneous storage devices, such as a set of heterogeneous storagedevices within a RAID. While software presently exists for managingRAIDs from different vendors across a network, such software lacks theability to manage one or more storage devices from separate vendors in asingle RAID, or to effectively manage a stand-alone storage device.

Thus, there is a need for a technique for managing one or more storagedevices.

BRIEF SUMMARY OF THE INVENTION

Briefly, in accordance with present principles, there is provided amethod for managing at least one storage device, such as a magnetic diskdrive, magneto-optical device, or a tape storage device, and preferably,a plurality of such storage devices. The method commences by identifyingeach device, typically by its manufacturer. For each identified storagedevice, a database is created containing information about that device.For example, the information within such a database will include theworking characteristics of that storage device, specific interfaceprotocols and operational rules. From the information about each storagedevice obtained from the corresponding database, a Graphical UserInterface (GUI) is created for display to provide a user with at leastone menu option for selection. Upon selecting the one menu option, theuser obtains at least one of (a) a display of information associatedwith the identified storage device, and (b) execution of at least oneprocess to control, at least in part, the operation of the identifiedstorage device. The user's selection is processed and the Graphical UserInterface is automatically updated in response to the processing of theuser's selected menu option. Thus, for example, if the user had selecteda menu option to cause the identified storage device to perform aparticular operation, the Graphical User Interface provides an updateddisplay that reflects the results of that operation performed by thestorage device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a block schematic diagram of a system in accordance withpresent principles for managing at least one storage device;

FIG. 2 depicts in flow chart form the steps of a method executed by thesystem of FIG. 1 to manage the at least one storage device; and

FIG. 3 depicts an opening screen of a Graphical User Interface displayedto a user.

DETAILED DESCRIPTION

FIG. 1 depicts a block schematic diagram of a host system 10 formanaging at least one, and preferably a plurality of storage devices,exemplified by storage devices 12 ₁, 12 ₂ and 12 ₃. Each of the storagesdevices 12 ₁, 12 ₂ and 12 ₃ can take the form of a single magnetic oroptical disk drive, a magnetic tape drive, or an array of individualstorage devices, such as a Redundant Array of Independent Disks (RAID).In practice, the storage devices 12 ₁-12 ₃ originate from differentmanufacturers. Thus, each storage device often possesses slightlydifferent operating characteristics that must be taken into account whenmanaging that device.

A fibre channel fabric 14 couples the storage devices 12 ₁-12 ₃ to ahost bus adapter 16 that interfaces the devices to the host system 10.The host bus adapter 16 typically has its own Small Computer SystemInterface (SCSI) to funnel information between the host system 10 andthe storage devices 12 ₁-12 ₃ through the fibre channel fabric 14. Thehost bus adapter 16 can include other interfaces for disk storagedevices that do not use SCSI. Note that the storage devices 12 ₁-12 ₃could each enjoy a direct connection with the host bus adapter 16,thereby obviating the need for the fibre channel fabric 14. Thus, thestorage devices 12 ₁-12 ₃ are not limited to fibre channel storagedevices but could comprise any type of storage device responsive to SCSIcommands.

The host system 10 typically comprises a general-purpose computer suchas a well know personal computer or a mini computer. Associated with thehost system 10 is at least one database (DBS) 18 that contains one ormore libraries. Each library within the database 18 contains informationspecific to a corresponding one of the storage devices 12 ₁-12 ₃. Inparticular, the library associated with each of the storage devices 12₁-12 ₃ typically includes the operating characteristics associated withthat storage device. The device operating characteristics includes atleast one of (a) operational rules, (b) commands, and (c) processingroutines. While the embodiment of FIG. 1 depicts a single database 18that contains the associated library for each of the storage devices 12₁-12 ₃, the library associated with each storage device could reside ona separate database (not shown). In practice, each library in thedatabase 18 depends only on SCSI commands. Thus, the host bus adapter 16need not be limited to a Fibre Channel (FC)/SCSI host bus adapterbecause regardless of the lower level protocol (e.g., fibre channelfabric in this case), the commands in the library don't need to rely onthe specific host bus adapter protocol.

The host system 10 includes a Communication Object Model(COM)/Distributed Communications Object Model (DCOM) layer 20, which, inpractice, takes the form of a memory that includes specificconfiguration rules for each of the storage devices 12 ₁-12 ₃. Inpractice, the configuration rules for each storage device are determinedfrom the information stored in the corresponding library for each suchdevice. The COM/DCOM layer 20 also includes one or more applets,programs and/or sub-routines (collectively referred as “programs”)typically in the form of C++ objects that are exposed via multipleinterfaces and can be instantiated via multiple languages acrossmultiple machines in one or more networks. The programs in the COM/DCOMlayer 20 monitor each requested operation for each of the storagedevices 12 ₁-12 ₃ to ensure that the requested operation complies withthe rules for that storage device as established by its manufacturer.Any requested operation of a storage device not in compliance with therule(s) associated with that device will be blocked and an error messagewill be generated. Execution by the host system 10 of the programsresident in the COM/DCOM layer 20 can occur without the need for theuser to remain at a terminal (not shown).

The host system 10 also executes a Graphical User Interface (GUI)application 22 that manages input information received from each of thestorage devices 12 ₁-12 ₃ as well as input information received from oneor more users. From such input information, the GUI application 22generates a graphical interface for display to the user on a displaydevice (not shown). The overall format of the information displayed bythe GUI 22 to the user for each storage drive has a uniform appearance,but different menu options are tailored for each storage device toaccount for its particular features.

FIG. 2 illustrates in flow chart form the steps of a method executed bythe host system 10 to manage the storage devices 12 ₁-12 ₃ in accordancewith the present principles. The method of FIG. 2 commences uponexecution of step 100 during which the host system 10 of FIG. 1undertakes discovery of which storage devices are attached thereto. Inother words, during step 100, the host system 10 launches a query todetermine the identity of the attached devices 12 ₁-12 ₃, andparticularly, the make (i.e., the manufacturer) and the model number ofeach device. In addition to discovering the make and model of eachdevice, the host system 10 also ascertains during step 100 whether eachdevice is directly attached to the host bus adapter 16 or is attachedthrough the fibre channel fabric 14. During step 100, the host system 10will assign an identifier to each discovered storage devices. Theassigned identifier can comprise a fibre channel fabric identifierassigned when the device is attached to the fibre channel fabric 14 ofFIG. 1. Alternatively, the identifier could comprise a Logical UnitNumber (LUN) or vendor identification number assigned to the device.

Following step 100, execution of step 110 occurs at which time, the hostsystem 10 categorizes each discovered storage device by its make andmodel. During step 110, the host system 10 establishes a library foreach storage device discovered during step 100, with each libraryresiding in a single database (e.g., database 18 of FIG. 1) or inseparate databases. As discussed previously, each library associatedwith a storage device will include the operational rules, commands andprocessing routines associated with that device. Execution of step 120follows step 110 at which time, the host system 10 executes theGraphical User Interface (GUI) application 22 of FIG. 1 to create anddisplay the GUI to the user.

FIG. 3 depicts an illustrative screen display 200 that comprises part ofthe GUI provided to the user. The screen display 200 includes systempane 202 typically appearing at the left-hand side of the screendisplay. The system pane 202 provides a hierarchical display of thevarious devices and sub-elements found by the host system 10 during step100 of FIG. 2, with each device and sub-element appearing in the systempane 202 of FIG. 3 as a corresponding icon. In the exemplary embodimentof FIG. 3, the icon 206 appearing in the system pane 202 corresponds tothe presence of a Vendor Unique Storage Device found by the host system10 during step 100 of FIG. 2. The icon 208 appearing in the system pane202 of FIG. 3 corresponds to a controller node within the Vendor UniqueStorage Device represented by the icon 206. The icon 210 within thesystem pane 202 signifies the existence of one or more bound LUNsassociated with the controller node represented by icon 206. The icon210 identifies a corresponding LUN within the Bound LUNs represented bythe icon 210. Lastly, the icon 212 within the system pane 202 of FIG. 3signifies the presence of one or more unbound disks. One or more of theicons 206-212 can have an associated drop-down menus to allow a user toobtain one of (a) a display of information associated with theidentified storage device, and (b) execution of at least one process tocontrol, at least in part, the operation of the identified storagedevice.

Still referring to FIG. 3, the screen display 200 includes a sub-systemdisplay pane 214 in addition to the display pane 202. In practice, thesub-system display pane 214 displays specific information related to theselection by a user (via a mouse or the like) of a particular one of theicons 206-212. In the exemplary embodiment, highlighting the controllernode icon 208 causes the sub-system display pane 214 to display morespecific information about the controller node.

Referring to FIG. 2, following creation and display of the GUI duringstep 120, the host system 10 then awaits input from a user who typicallyselects one or more menu options. Such menu options can include (but arenot limited to) the following:

-   -   bind a group of physical storage devices into a Logical Unit        Number (LUN)    -   unbind a set of LUNs    -   designate one or more storage devices as hot spares    -   set each storage device system clock    -   load vendor specific firmware to individual controllers and/or        storage devices    -   check/set vendor specific controller and/or storage device        settings    -   blink the storage device Light Emitting Diodes (LEDs) if present        for identification purposes    -   identify state information    -   establish fibre channel fabric IDs for each storage device    -   start or stop a RAID rebuild operation    -   start or stop one or more consistency check operations    -   initialize a file system in a discrete storage system

After receipt of by a user of one or more menu selections, then the step124 of FIG. 2 occurs, at which time the host system 10 of FIG. 1processes the received menu selection. In practice, the host system 10processes the menu selection through an appropriate software stack untilthe specific storage device to which the menu selection was directedexecutes the selection. Following step 124, step 126 occurs, whereuponthe host system 10 automatically updates the GUI previously displayed tothe user to reflect changes that occurred as a result of execution ofthe user-selected menu option. In this way, the user can visuallyobserve the results of the selected menu option. Following step 126,program execution branches back to step 122 to wait for user selectionof another menu option.

The foregoing describes a technique for managing one or more storagedevices having different operating characteristics.

1. A method for managing at least one storage device, comprising:identifying the at least one storage device; establishing a databasecontaining information about the identified at least one storage device,wherein the information about the identified at least one storage deviceincludes operating characteristics of the identified at least onestorage device; providing to the user a graphical user interface inaccordance with the information in the database, the graphical interfacedisplaying at least one menu option for the identified at least onestorage device for the user to select at least one of (i) display of theinformation about the identified at least one storage device and (ii)execution of at least one process to control the operation of the atleast one storage device; processing the user-selected menu option, saidprocessing further including: determining if a requested execution ofthe at least one process complies with configuration rules for theidentified at least one storage device, and if not, blocking executionof the at least one process, and generating an error message, theconfiguration rules determined in accordance with the information in thedatabase; and (e) automatically updating the graphical user interface inresponse to the processing of the user-selected menu option.
 2. Themethod according to claim 1 wherein the identifying the at least onestorage device comprises ascertaining a manufacturer and model numberfor the at least one storage device.
 3. The method according to claim 1wherein the establishing a database comprises obtaining information thatincludes at least one of (a) operational rules, (b) commands and (c)processing routines of the at least one storage device.
 4. The methodaccording to claim 1 wherein the providing a graphical user interfaceincludes: displaying icons representative of each identified at leastone storage device in a hierarchical fashion in a first pane; anddisplaying information in a second pane related to a corresponding oneof the icons displayed in the first pane.
 5. The method according toclaim 1 wherein the processing and automatically updating are repeatedfollowing receipt of each subsequent menu selection made by a user. 6.An apparatus for managing at least one storage device, comprising: adatabase containing information about the at least one storage devices,wherein the information about the at least one storage device includesoperating characteristics of the at least one storage device; and aprocessor coupled to the at least one storage device for (a) identifyingthe at least one storage device; (b) providing to a user a graphicaluser interface in accordance with the information in the database, thegraphical interface displaying at least one menu option for theidentified at least one storage device for the user to select at leastone of (i) display of information about the identified at least onestorage device and (ii) execution of at least one process to control theoperation of the at least one storage device; (c) processing theuser-selected menu option, by (i) determining if a requested executionof the at least one process complies with configuration rules for theidentified at least one storage device, and if not, (ii) blockingexecution of the at least one process; and (iii) generating an errormessage, the configuration rules determined in accordance with theinformation in the database; and (d) automatically updating thegraphical user interface in response to the processing of theuser-selected menu option.
 7. The apparatus according to claim 6 whereinthe processor identifies the at least one storage device by ascertainingits manufacturer and model number.
 8. The apparatus according to claim 6wherein the database contains information that includes at least one of(a) operational rules, (b) commands and (c) processing routines of theat least one storage device.
 9. The apparatus according to claim 6wherein the processor provides the graphical user interface by (a)displaying icons representative of each identified at least one storagedevices in a hierarchical fashion in a first pane; and (b) displayinginformation in a second pane related, a corresponding one of the iconsdisplayed in a first pane.